home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
500 MB Nyheder Direkte fra Internet 11
/
500 MB nyheder direkte fra internet CD 11.iso
/
start
/
install
/
windows
/
w32s115a
/
w32sbug.txt
< prev
next >
Wrap
Text File
|
1994-04-19
|
6KB
|
116 lines
BUG: Win32s 1.1 Bug List
ID: Q113739
----------------------------------------------------------------------
The information in this article applies to:
- Microsoft Win32s version 1.1
----------------------------------------------------------------------
SYMPTOMS
========
The following is a list of known problem in Win32s version 1.1:
- Setup fails if there are 40 groups in Program Manager
- WinFile GP faults while viewing file properties
- Universal Thunk callback returns a WORD, not a DWORD
- LA (linear address) Table limited to 256 entries. This limits the number
of VirtualAlloc() calls that will succeed.
- Win32s does not handle paths that contain a "&" or a "#"
- FP (floating point) exceptions are not trapped by SEH (structured
exception handling. FP exception in 32-bit code which is called from
16-bit code via UT can cause a GP fault in WIN87EM
- TLS data was allocated from a limited heap size. This can cause
applications which use a lot of TLS data to fail to load.
- CB_FINDSTRING and LB_FINDSTRINGEXACT are not thunked correctly from
a 16-bit app to a 32-bit app
- Dialog templates passed from a 32-bit app are corrupted
- If a DDE client responds to INITIATE for which it is also the server,
lParam is packed incorrectly.
* fstat() always returns rt_mode is read/write
* chdrive(): does not retain the current working directory, always uses
the root directory
- ChooseFont(): CHOOSEFONT has blue value set to 0 with CF_EFFECTS
- CopyFile(): uses current time, not the file time
- CreateFile(): does not parse UNC names correctly
- CreateProcess(): does not set current directory correctly
- CreateProcess(): ignores window size and window position
- CreateProcess(): debug version corrupts environment if
lpApplicationName != NULL
- CreateProcess(): returns failure if child does not call GetMessage()
or yield in some way before control goes to the parent
- CreateProcess(): dwFlags is ignored when starting Win16 apps, while
showwindow is always passed
- CreateWindowEx(): CW_USEDEFAULT is not handled, causing problems with
WM_VISIBLE
- EnumMetaFile(): handles array is corrupted
- EnumPropsEx(): enumerates non-existing properties
- EqualRect(): returns TRUE for rectangles that are lines
- FindFirstFile(): error code is set to ERROR_NO_MORE_FILES instead of
ERROR_FILE_NOT_FOUND if there are no matches for the search pattern
- FindFirstFile(): may use a bad DTA, causing stack corruption
- GetClassInfo(): WNDCLASS buffer corrupted if passing invalid class
* GetFileInformationByHandle(): support added in 1.15, but file
attribute returned is always 0
- GetFilePointer(): returns valid value given invalid handle
- GetFileSize(): moves file pointer
- GetFileVersionSize(): Win16 apps calling this API on a 32-bit DLL GP
fault
- GetKerningPairs(): result not in Win32 format
- GetModuleFileName(): Win16 apps calling this API on a 32-bit DLL
causes OFSTRUCT structure to be truncated
- GetModuleFileName(): char count returned includes terminating NUL
- GetOpenFileName(): call fails with OFN_ENABLETEMPLATEHANDLE
- GetOpenFileName(): you can use hook within GetOpenFileName(), trap
WM_INITDIALOG to get address of OPENFILENAME struct, but pointer is
corrupted by next message
- GetOutlineTextMetrics(): returns OUTLINETEXTMETRIC struct with Win 3.1
format, not Win32 format
- GetOutlineTextMetrics(): OUTLINETEXTMETRIC UnderscorePosition,
UnderscoreSize, and otmItalicAngle are incorrect
- GetSystemInfo(): returns incorrect lpMinimumApplicationAddress and
lpMaximumApplicationAddress
- GlobalCompact(): exception occurs when value is larger than available
memory
- HeapAlloc/malloc(): slow, because debug check left in code
- IsCharAlpha(): returns 0 for chars 128-255
- LoadLibrary(): fails to report unsucessful load of 16-bit DLLs (should
return ERROR_BAD_EXE_FORMAT)
- LoadLibrary(): fails after 4591 calls, due to a memory leak
- LoadLibrary(): fixed to work from a 32-bit DLL called by a 16-bit app
- LoadModule(): does not pass cmdshow, so app gets SW_SHOWNORMAL
- LocalAlloc(): fixed to work from a 32-bit DLL called by a 16-bit app
- MultiByteToWideChar(): wrong string returned with USE_GLYPHCHARS
- NetAccessAdd(), NetApiBufferAllocate(), NetUseGetInfo(), and
NetUserSetGroups(): not exported by netapi32.dll (note: these APIs are
not supported)
- OpenFile(): does not parse UNC names correctly
- PeekMessage(): NULL hwnd causes RIP in debug windows
- PlayMetaFileRecord(): handles array is corrupted
- PolyPolygon(): fails with more than 16 polygons
- PrintDlg(): incorrectly frees global memory, fails with MFC sample
- SetClipboardData(): 32-bit memory is not freed when clipboard is
emptied
- SetErrorMode(): SEM_NOOPENFILEERRORBOX doesn't work, the message box
still appears
- SetFilePointer(): returns valid value given invalid handle
- SetProp(): 17th call fails if lpsz is a string, not an atom
- SetWindowLong(): GWL_USERDATA always returns 1
- TrackMenuPopup(): optional lprc parameter is not handled correctly
- waveOutGetDevCaps(): WAVEOUTCAP buffer not filled correctly for
SoundBlaster
- waveOutWrite(): WOM_DONE messages not posted with multiple buffers and
loop play
* WinExec(): 16-bit apps which are launched will GP fault
STATUS
======
Microsoft has confirmed these to be problems in Win32s version 1.1.
Problems marked with a '-' will be corrected in Win32s version 1.15.
Problems marked with a '*' will be corrected in Win32s version 1.2.